var searchTable;
var dataTableConfig;
var yfsettingTree;
var menuLength=getLength("config_page_size");
var btnModel = '    \
	{{#each func}}\
    <button type="button" class="{{this.type}} btn-sm" onclick="{{this.fn}}">{{this.name}}</button>\
    {{/each}}';
	var template = Handlebars.compile(btnModel);
	var dataTableConfig={
			"ordering" : false,// 排序
			"serverSide" : true,// 开启服务器模式
			"scrollX" : true,// 横向滚动
			"paging": true,
			"searching": false,
			"dom" : 'rt<"floatl mt5"l><"floatl mt5"i><"floatr mt5"p><"clear">' ,//生成样式
			"lengthMenu": [
			        menuLength,
			        menuLength
			    ],
			ajax : {
				"type" : "POST",
				"url" : '../sysOrgControllerNew/search4Page',//请求路径
				"contentType" : 'application/x-www-form-urlencoded; charset=UTF-8',
				"dataType":"json",
				"data" : function(d){// 查询参数
	            	d.disName = $('#disNameObj').val();
	            	d.orgName = $('#orgNameObj').val();
	            	d.orgType = $('#orgTypeObj').val();
	            	d.orgStatus = $('#orgStatusObj').val();
	            	d.orgCode = $('#orgCodeObj').val();
	            	return d;
	            }
			},
			columns : [// 对应列
	           	{"data" : null,		render : function(a, b, c, d) {
					var context;
					if(hasPermission){
						if (c.ORG_STATUS==0) {
							 context = {
										func : [ {
											"name" : "修改",
											"fn" : "update(\'" + c.ORG_ID +"','"+ c.ORG_NAME +"','" + c.ORG_CODE +"','"+ c.ORG_TYPE +"','" + c.FULL_NAME +"','" + c.DIS_LEVEL +"','" + c.ORG_STATUS +  "\')",
											"type" : "user-button"
										}, {
											"name" : "启用",
											"fn" : "ena('" + c.ORG_ID +"')",
											"type" : "user-button"
										}
										]
									};
						} else {
							 context = {
										func : [ {
											"name" : "修改",
											"fn" : "update(\'" + c.ORG_ID +"','"+ c.ORG_NAME +"','" + c.ORG_CODE +"','"+ c.ORG_TYPE +"','" + c.FULL_NAME +"','" + c.DIS_LEVEL +"','" + c.ORG_STATUS +  "\')",
											"type" : "user-button"
										}, {
											"name" : "禁用",
											"fn" : "del('" + c.ORG_ID +"')",
											"type" : "user-button user-btn-n"
										}
										]
									};
						}
					}else{
						 context = {
									func : [ {
										"name" : "查看",
										"fn" : "update(\'" + c.ORG_ID +"','"+ c.ORG_NAME +"','" + c.ORG_CODE +"','"+ c.ORG_TYPE +"','" + c.FULL_NAME +"','" + c.DIS_LEVEL +"','" + c.ORG_STATUS +  "\')",
										"type" : "user-button"
									}
									]
								};
					}
					var html = template(context);
					return html;
				}}, 
	           	{"data" : "FULL_NAME",render : $.fn.dataTable.render.ellipsis(22, true)}, 
				{"data" : "ORG_NAME",render : $.fn.dataTable.render.ellipsis(22, true)}, 
				{"data" : "ORG_CODE"}, 
				{"data" : "ORG_TYPE",render : function(data, type, full){
					var value;
					if (data==1){ 
						value="公司";
					}else if(data==2){
						 value="部门";
					}else if(data==3){
						  value="处室";
					}else if(data==4){
						 value="虚拟组织";
					}
					return value;
				}}, 
				{"data" : "DIS_LEVEL",render : function(data, type, full){
					var value;
					if (data==1){ 
						value="总部";
					}else if(data==2){
						 value="省分";
					}else if(data==3){
						  value="地市";
					}else if(data==4){
						 value="区县";
					}
					return value;
				}},  
				{"data" : "ORG_STATUS",	render : function(data, type, full){
					var value;
					if (data==1){ 
						value="有效";
					}else if(data==0){
						 value="无效";
					}
					return value;
				}}  
				],
			"columnDefs" : [ {// 所有列默认值
				"targets" : "_all",
				"defaultContent" : ''
				} ]
		};
	var yfdataTableConfig={
			"ordering" : false,// 排序
			"serverSide" : true,// 开启服务器模式
			"scrollX" : true,// 横向滚动
			ajax : {
				"type" : "POST",
				"url" : '../sysOrgControllerNew/yfsearch4Page',//请求路径
				"contentType" : 'application/x-www-form-urlencoded; charset=UTF-8',
				"dataType":"json",
				"data" : function(d){// 查询参数
	            	d.disName = $('#yfdisNameObj').val();
	            	d.orgName = $('#yforgNameObj').val();
	            	d.orgType = $('#yforgTypeObj').val();
	            	d.orgStatus = $('#yforgStatusObj').val();
	            	d.orgCode = $('#yforgCodeObj').val();
	            	return d;
	            }
			},
			columns : [// 对应列
	           	{"data" : null}, 
				{"data" : "ORG_NAME"}, 
				{"data" : "ORG_CODE"}, 
				{"data" : "DIS_NAME"},
				{"data" : "ORG_STATUS"}  
				],
			"columnDefs" : [ {// 所有列默认值
				"targets" : "_all",
				"defaultContent" : ''
				}, 
				{
					targets :4,
					render : function(data, type, full){
						var value;
						if (data==1){ 
							value="有效";
						}else if(data==0){
							 value="无效";
						}
						return value;
					}
				},
				{
					targets :1,
					render : $.fn.dataTable.render.ellipsis(22, true)
				},
				{
					targets :2,
					render : $.fn.dataTable.render.ellipsis(22, true)
				},
				{
					targets :3,
					render : $.fn.dataTable.render.ellipsis(22, true)
				},
				{// 最后一列添加按钮
				targets : 0,
				render : function(a, b, c, d) {
					var context;
					if(yfhasPermission){
						if(c.ORG_STATUS==0){ context = {
								func : [ {
									"name" : "修改",
									"fn" : "yfupdate(\'" + c.ORG_ID +"','"+ c.ORG_NAME +"','" + c.ORG_CODE +"','"+ c.ORG_TYPE +"','"  + c.ORG_STATUS +  "\')",
									"type" : "user-button"
								}, {
									"name" : "启用",
									"fn" : "yfena('" + c.ORG_ID +"')",
									"type" : "user-button"
								}]
							};}else{
								 context = {
											func : [ {
												"name" : "修改",
												"fn" : "yfupdate(\'" + c.ORG_ID +"','"+ c.ORG_NAME +"','" + c.ORG_CODE +"','"+ c.ORG_TYPE +"','"  + c.ORG_STATUS +  "\')",
												"type" : "user-button"
											}, {
												"name" : "禁用",
												"fn" : "yfdel('" + c.ORG_ID +"')",
												"type" : "user-button user-btn-n"
											}]
								};
							}
						
					 }else{
						 context = {
									func : [ {
										"name" : "查看",
										"fn" : "yfupdate(\'" + c.ORG_ID +"','"+ c.ORG_NAME +"','" + c.ORG_CODE +"','"+ c.ORG_TYPE +"','"  + c.ORG_STATUS +  "\')",
										"type" : "user-button"
									}]
							};
						 
					 }
					var html = template(context);
					return html;
				}
			} ],
			lengthMenu: [
			             	menuLength,
					        menuLength
					    ],
			"dom" : 'rt<"floatl mt5"l><"floatl mt5"i><"floatr mt5"p><"clear">' //生成样式
		};
	
var yfsettingTree = {
				view: {
					selectedMulti: true	 //设置是否允许同时选中多个节点
				},
				edit: {
					enable: false, //设置 zTree 是否处于编辑状态
					editNameSelectAll: false, //节点编辑名称 input 初次显示时,设置 txt 内容是否为全选状态
				},
				data: {
					simpleData: {
						idKey: "DIS_ID",
						pIdKey: "PARENT_ID",
						enable: true //确定 zTree 初始化时的节点数据、异步加载时的节点数据、或 addNodes 方法中输入的 newNodes 数据是否采用简单数据模式 (Array)
					},
					key: {
						name: "FULL_NAME"
					}

				},
				check:{
					chkStyle:"checkbox",//勾选框类型
					enable:yfhasPermission, //设置 zTree 的节点上是否显示 checkbox
					chkboxType:{"Y":"","N":""}
				},
				callback: {
					onCheck: function(treeId, treeNode) {}
				}
		
			};
var settingTree = {
		view: {
			selectedMulti:  false,	 //设置是否允许同时选中多个节点
			showIcon: false //不显示图标
		},
		edit: {
			enable: false, //设置 zTree 是否处于编辑状态
			editNameSelectAll: false, //节点编辑名称 input 初次显示时,设置 txt 内容是否为全选状态
		},
		data: {
			simpleData: {
				idKey: "DIS_ID",
				pIdKey: "PARENT_ID",
				enable: true //确定 zTree 初始化时的节点数据、异步加载时的节点数据、或 addNodes 方法中输入的 newNodes 数据是否采用简单数据模式 (Array)
			},
			key: {
				name: "FULL_NAME"
			}

		},
		callback: {
			onClick: changejf
		}

	};
var searchTree;
	function searchTreeSetting(site){
		searchTree= {
				view: {
					selectedMulti: false,	 //设置是否允许同时选中多个节点
					showIcon: false //不显示图标
				},
				edit: {
					enable: false, //设置 zTree 是否处于编辑状态
					editNameSelectAll: false, //节点编辑名称 input 初次显示时,设置 txt 内容是否为全选状态
				},
				data: {
					simpleData: {
						idKey: "DIS_ID",
						pIdKey: "PARENT_ID",
						enable: true //确定 zTree 初始化时的节点数据、异步加载时的节点数据、或 addNodes 方法中输入的 newNodes 数据是否采用简单数据模式 (Array)
					},
					key: {
						name: "FULL_NAME"
					}

				},
				callback: {
					onClick: site
				}

			};
	}
	function searchOrg() {
		$("#searchTable").dataTable().fnDraw(false)
	}
	function yfsearchOrg() {
		$("#yfsearchTable").dataTable().fnDraw(false)
	}
	//甲方搜索建设单位查询条件时，展开树
	function jfSearchTree(){
		searchTreeSetting(searchjf);
		$.post({
			url:"../sysOrgControllerNew/getJsTree",
			data:{"disId":3701},
			dataType : "json",
			success : function(data){
				var treeObj=$.fn.zTree.init($("#jfst"), searchTree, data);
				treeObj.expandAll(false);
			}
		})
		$('#jfSearchTree').modal("show");
	}
	//乙方方搜索建设单位查询条件时，展开树
	function yfSearchTree(){
		searchTreeSetting(searchyf);
		$.post({
			url:"../sysOrgControllerNew/getJsTree",
			data:{"disId":3701},
			dataType : "json",
			success : function(data){
				var treeObj=$.fn.zTree.init($("#yfst"), searchTree, data);
				treeObj.expandAll(false);
			}
		})
		$('#yfSearchTree').modal("show");
	}
	function searchjf(event, treeId, treeNode){
		$('#jfSearchTree').modal("hide");
		$('#disNameObj').val(treeNode.FULL_NAME);
	}
	function searchyf(event, treeId, treeNode){
		$('#yfSearchTree').modal("hide");
		$('#yfdisNameObj').val(treeNode.FULL_NAME);
	}
	//刷新乙方查询条件
	function resetyf(){
		 $('#yfdisNameObj').val("");
    	 $('#yforgNameObj').val("");
    	 $('#yforgStatusObj').val("");
    	 $('#yforgCodeObj').val("");
	}
	//刷新甲方查询条件
	function resetjf(){
		 $('#disNameObj').val("");
    	 $('#orgNameObj').val("");
    	 $('#orgTypeObj').val("");
    	 $('#orgStatusObj').val("");
    	 $('#orgCodeObj').val("");
	}
	function yfadd(){
		yfaddtree();
		resetValidator();
		if(null == $('#addyfForm').data('bootstrapValidator')) {
			$('#addyfForm').bootstrapValidator(checkValidator);
		}
		$('#yfadd').removeClass('HdClass');
		$('#main').addClass('HdClass');
		$("#yfjsdw").empty();
	}
 	function del(id){
		$.post({
			url:"../sysOrgControllerNew/deleteOne",
			dataType:"json",
			data:{"orgId":id},
			success:function(data){
				searchOrg();
				alertModel("禁用成功！");
			}
		})
	}
 	function yfdel(id){
		$.post({
			url:"../sysOrgControllerNew/deleteOneYf",
			dataType:"json",
			data:{"orgId":id},
			success:function(data){
				yfsearchOrg();
				alertModel("禁用成功！");
			}
		})
	}
	function ena(id){
		$.post({
			url:"../sysOrgControllerNew/enableOne?T="+(new Date().getTime()),
			dataType:"json",
			data:{"orgId":id},
			success:function(data){
					searchOrg();
					alertModel("启用成功！");
				
			}
		})
	}
	function yfena(id){
		$.post({
			url:"../sysOrgControllerNew/enableOneYf",
			dataType:"json",
			data:{"orgId":id},
			success:function(data){
				yfsearchOrg();
				alertModel("启用成功！");
			}
		})
	}
	//点击选择新的甲方建设单位
	function changejf(event, treeId, treeNode){
		$('#jfjsdw').empty();
		$('#jfjsdw').append("<span class='input-group-addon' >建设单位</span> <input type='text' class='form-control'  value="+treeNode.FULL_NAME+" readonly='readonly'><input type='text' style='display:none;' id='jfdis' value="+treeNode.DIS_ID+">");
		//$("#jftree").addClass("HdClass");
	}
	//点击选择新的乙方建设单位
	function changeyf(){
		$('#yfjsdwupdate').empty();
		var treeObj = $.fn.zTree.getZTreeObj("yfupdatetree");
		var nodes = treeObj.getCheckedNodes(true);
		for (var i = 0; i < nodes.length; i++) {
			$('#yfjsdwupdate').append('<div class="input-group HdClass"><span class="input-group-addon" >建设单位</span> <input type="text" class="form-control"  value='+nodes[i].DIS_NAME+'  disabled="disabled"><span class="input-group-addon" >建设单位层级</span> <input type="text" class="form-control"  value='+nodes[i].DIS_LEVEL+'  disabled="disabled"><input type="text" style="display:none;" name="update-yfdis" value='+nodes[i].DIS_ID+'></div>');
		}
	}
	//甲方修改界面
	function update(orgid,orgname,orgcode,orgtype,disname,dislevel,orgstatus){
		if(hasPermission){
			$('#jfInfoModal').text("修改联通组织");
		}else {
			$('#jfInfoModal').text("查看联通组织");
		}
		var type;
		if (orgtype==1){ 
			type="公司";
		}else if(orgtype==2){
			type="部门";
		}else if(orgtype==3){
			type="处室";
		}else if(orgtype==4){
			type="虚拟组织";
		}
		var level;
		if (dislevel==1){ 
			level="总部";
		}else if(dislevel==2){
			 level="省分";
		}else if(dislevel==3){
			  level="地市";
		}else if(dislevel==4){
			 level="区县";
		}
		var status;
		if (orgstatus==1){ 
			status="有效";
		}else if(orgstatus==0){
			 status="无效";
		}
		$('#jfjsdw').empty();
		$('#update-orgName').val(orgname);
		$('#update-orgType').val(type);
		$('#update-orgCode').val(orgcode);
		if(disname == "undefined"){
			
		}else{
			$('#jfjsdw').append('<span class="input-group-addon" >建设单位</span> <input type="text" class="form-control"  value="'+disname+'"  readonly>');
		}
		$('#update-disLevel').val(level);
		$('#update-orgStatus').val(status);
		$("#savebtn").off("click");
		$("#savebtn").on("click",function(){
			var disId=$('#jfdis').val();
			if(disId==""||disId==null){
				alertModel("请选择修改的建设单位！");
				return ;
			}
			$.post({
				url:"../sysOrgControllerNew/updateOne",
				dataType:"json",
			    traditional: true,
				data:{"orgId":orgid,
					  "disId":disId
				},
				success:function(data){
					alertModel("修改成功！");
					$('#update').addClass("HdClass");
					$('#main').removeClass("HdClass");
					searchOrg();
				}
			})
		});
		$("#jftree").addClass("HdClass");
		$('#update').removeClass('HdClass');
		$('#main').addClass("HdClass");
		tree();
	}
	//乙方修改界面
	function yfupdate(orgid,orgname,orgcode,orgtype,orgstatus){
		if(yfhasPermission){
			$('#yfInfoModal').text("修改合作方组织");
		}else {
			$('#yfInfoModal').text("查看合作方组织");
		}
		var status;
		if (orgstatus==1){ 
			status="有效";
		}else if(orgstatus==0){
			 status="无效";
		}
		$('#yfjsdwupdate').empty();
		$.post({
			url:"../sysOrgControllerNew/getYfDis",
			dataType:"json",
			data:{"orgId":orgid,
			},
			success:function(data){
				yftree(data);			
			}
		})
		$('#yfupdate-orgName').val(orgname);
		$('#yfupdate-orgCode').val(orgcode);
		$('#yfupdate-orgStatus').val(status);
		$("#yfsavebtn").off("click");
		$("#yfsavebtn").on("click",function(){
			changeyf();
			var disId=new Array();
			$("input[name='update-yfdis']").each(function(){
				disId.push($(this).val());
			}); 
			if(disId==""||disId==null){
				alertModel("请选择修改的建设单位！");
				return ;
			}
			$.post({
				url:"../sysOrgControllerNew/updateOneyf",
				dataType:"json",
				traditional:"true",
				data:{"orgId":orgid,
					  "disId":disId
				},
				success:function(data){
					alertModel("修改成功！");
					$('#yfjsdwupdate').empty();
					$('#yfupdate').addClass("HdClass");
					$('#main').removeClass("HdClass");
					yfsearchOrg();
				}
			})
		});
		$('#yfupdate').removeClass('HdClass');
		$('#main').addClass("HdClass");
	
	}
	
	//甲方修改建设单位时弹出的树
	function tree(){
		$("#jftree").removeClass("HdClass");
		$.post({
			url:"../sysOrgControllerNew/getJsTree",
			data:{"disId":3701},
			dataType : "json",
			success : function(data){
				var treeObj=$.fn.zTree.init($("#updatetree"), settingTree, data);
				treeObj.expandAll(false);
			}
		})
	}
	//乙方修改建设单位时弹出的树
	function yftree(info){
		$.post({
			url:"../sysOrgControllerNew/getJsTree",
			data:{"disId":3701},
			dataType : "json",
			success : function(data){
				var treeObj=$.fn.zTree.init($("#yfupdatetree"), yfsettingTree, data);
				for (var i = 0; i < info.length; i++) {
					treeObj.checkNode( treeObj.getNodeByParam("DIS_ID",info[i].DIS_ID ), true,false); 
				}
				treeObj.expandAll(true);
			}
		})
	}
	function yfaddtree(){
		$.post({
			url:"../sysOrgControllerNew/getJsTree",
			data:{"disId":3701},
			dataType : "json",
			success : function(data){
				yfsettingTree.callback.onCheck = function(treeId, treeNode) {
					resetValidator();
					if(null == $('#addyfForm').data('bootstrapValidator')) {
						$('#addyfForm').bootstrapValidator(checkValidator);
					}
				};
				var treeObj=$.fn.zTree.init($("#yfaddtree"), yfsettingTree, data);
				treeObj.expandAll(false);
			}
		})
	}
	//乙方新增建设单位选择-。-
	function yfjsxz(){
		$("#yfjsdw").empty();
		var treeObj = $.fn.zTree.getZTreeObj("yfaddtree");
		var nodes = treeObj.getCheckedNodes(true);
		for (var i = 0; i < nodes.length; i++) {
			$("#yfjsdw").prepend("<div class='input-group HdClass'><span class='input-group-addon' >建设单位</span> <input type='text' class='form-control' value='"+nodes[i].DIS_NAME+"'/><input type='text' value='"+nodes[i].DIS_ID+"' class='form-control' name='disId' style='display: none'></div>")
		}
	}
	//保存新增乙方信息
	function saveyf(){
		yfjsxz();
		var Content = $("#yfjsdw").html(); 
		if(Content == null || Content.length == 0) 
		{ 
			alertModel("请选择建设单位！");
		return ;
		} 
		$.post({
			url:"../sysOrgControllerNew/addyf",
			data:$('#addyfForm').serializeArray(),
			success : function(data){
				if(data==0){
					alertModel("组织编码已存在，请重新确认！");
					
				}else{
				alertModel("添加成功！");
				$('#yfadd-orgName').val("");
				$('#yfadd-orgType').val("");
				$('#yfadd-orgCode').val("");
				yfsearchOrg();
				$('#yfadd').addClass('HdClass');
				$('#main').removeClass('HdClass');
				resetValidator();
				}
			}
		})
	}
	var checkValidator = {
			message: 'This value is not valid',
	        feedbackIcons: {
	            valid: 'glyphicon glyphicon-ok',
	            invalid: 'glyphicon glyphicon-remove',
	            validating: 'glyphicon glyphicon-refresh'
	        },
	        fields: {
	        	orgName: {
	                validators: {
	                    notEmpty: {
	                        message: '请输入组织名称'
	                    },
	                    stringLength: {
	                         min: 0,
	                         max: 256,
	                         message: '组织名称不能超过256个字符'
	                     }
	                }
	            },
	           orgCode: {
	                validators: {
	                    notEmpty: {
	                        message: '请输入组织编码'
	                    },
	    				 stringLength: {
	                         min: 0,
	                         max: 64,
	                         message: '组织编码不能超过64位'
	                     }
	                }
	            }
	        },
	        submitHandler: function(validator, form, submitButton) {
	        	saveyf();
	        }

	};
	function resetValidator(){
		if($('#addyfForm').data('bootstrapValidator')){
			$('#addyfForm').data('bootstrapValidator').resetForm(false);
		}
	}
	function yfaddback(){
		$('#yfadd').addClass('HdClass');
		$('#main').removeClass('HdClass');
	}
	function yfupdateback(){
		$('#yfupdate').addClass('HdClass');
		$('#main').removeClass('HdClass');
	}
	function updateback(){
		$('#update').addClass('HdClass');
		$('#main').removeClass('HdClass');
	}
	
	$(function() {
		//为了防止页面大小改变后，隐藏的表格变形，再每次标签页显示后，都重新绘制表格
		$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
			  if("partnerAnchor" === e.target.id){
				  $("#yfsearchTable").DataTable(yfdataTableConfig).draw(false);
			  }else{
				  $("#searchTable").DataTable(dataTableConfig).draw(false);
			  }
			});
		 $('#partnerAnchor').one("click",function (){
			 $("#yfsearchTable").DataTable(yfdataTableConfig);
			 if(!yfhasselect){
				 $('#myTop').addClass("HdClass");
			 }
		 })
		 if(hasselect){
			 $("#searchTable").DataTable(dataTableConfig);
			}else if(yfhasselect){
				 $('#partnerAnchor').click();
				 $('#myTop').addClass("HdClass");
		}
	})


function loadDeferScript(){

	/**修改因为高度问题导致分页下移的问题*/

	if(myBrowser() =="IE9"){
		if($(".DTFC_LeftHeadWrapper").length>0&&$(".DTFC_LeftBodyWrapper").length>0){
			var needChangeHeight = $("#searchTable_wrapper .DTFC_ScrollWrapper").height();
			$("#searchTable_wrapper .DTFC_ScrollWrapper").height((needChangeHeight-65)+"px");
		}
		
	}
}

$(document).on('click','#searchTable_paginate li.paginate_button a',function(){

	setTimeout("loadDeferScript()", 1000);
});

$(document).on('click','#yfsearchTable_paginate li.paginate_button a',function(){

	setTimeout("loadDeferScript()", 1000);
});